<?php

/**
 * 自动载入类
 * @param string $class_name 要调用的类名
 *                           提示：
 *                           Z_CORE_MODELS下面的同名文件可以自动调用
 */
class autoLoad {
    public static function AutoLoadClass($class_name) {
        self::loadCoreModels($class_name);
        self::loadAppModels($class_name);
    }
    /**
     * 自动载入核心模块文件
     * @param string $class_name 类的名称，如：\core\models\Application
     */
    private static function loadCoreModels($class_name) {
        $file_core_models = Z_CORE_MODELS . '/' . str_replace('_', '/', $class_name) . '.php';
        if (strpos($class_name, '\\') !== false) {
            $file_core_models = Z_DIR . '/' . str_replace(array('_', '\\'), array('/', '/'), $class_name) . '.php';
        }
        if (file_exists($file_core_models)) {
            require_once $file_core_models;
        }
    }
    /**
     * 自动载入当前项目的模板文件
     * @param string $class_name 类的名称，如：\Application
     */
    private static function loadAppModels($class_name) {
        //$file_app_models = Z_APP_MODELS . '/' . str_replace('_', '/', $class_name) . '.php';
        $file_app_models = Z_APP_MODELS . '/' . str_replace(array('_', '\\'), array('/', '/'), $class_name) . '.php';
        if (file_exists($file_app_models)) {
            require_once $file_app_models;
        }
    }
}